package com.sc.study.exam.domain;

import com.sc.study.foundation.domain.ScSubject;
import com.sc.study.foundation.domain.ScSubjectChapter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sc.common.annotation.Excel;
import com.sc.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 题目对象 sc_question
 * 
 * @author sc
 * @date 2022-02-27
 */
public class ScQuestion extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 问题 */
    @Excel(name = "问题")
    private String questiontitle;

    /** 科目编号 */
    private Long subjectid;


    /** 章节编号 */
    @Excel(name = "章节编号")
    private Integer chapterid;

    /** 问题类型 */
    @Excel(name = "问题类型")
    private Long questiontypeid;

    /** 答案 */
    @Excel(name = "答案")
    private String answer;

    /** 解析 */
    @Excel(name = "解析")
    private String analysis;


    /** 题目分数 */
    @Excel(name = "题目分数")
    private Double score;

    /** 题目选项 */
    @Excel(name = "选择题选项")
    private List<ScQuestionOption> questionOptions;

    // 问题类型对象
    private ScQuestionType scQuestionType;

    // 科目对象
    private ScSubject scSubject;

    //章节对象
    private ScSubjectChapter scSubjectChapter;

    //关联 testExmQuestionId
    private Long testExamQuestionId;

    //学生的考试数据
    private ScStudentTestexamResult scStudentTestexamResult;

    public ScStudentTestexamResult getScStudentTestexamResult() {
        return scStudentTestexamResult;
    }

    public void setScStudentTestexamResult(ScStudentTestexamResult scStudentTestexamResult) {
        this.scStudentTestexamResult = scStudentTestexamResult;
    }

    public Long getTestExamQuestionId() {
        return testExamQuestionId;
    }

    public void setTestExamQuestionId(Long testExamQuestionId) {
        this.testExamQuestionId = testExamQuestionId;
    }

    public ScSubjectChapter getScSubjectChapter() {
        return scSubjectChapter;
    }

    public void setScSubjectChapter(ScSubjectChapter scSubjectChapter) {
        this.scSubjectChapter = scSubjectChapter;
    }

    public ScQuestionType getScQuestionType() {
        return scQuestionType;
    }

    public void setScQuestionType(ScQuestionType scQuestionType) {
        this.scQuestionType = scQuestionType;
    }

    public ScSubject getScSubject() {
        return scSubject;
    }

    public void setScSubject(ScSubject scSubject) {
        this.scSubject = scSubject;
    }

    public List<ScQuestionOption> getQuestionOptions() {
        return questionOptions;
    }

    public void setQuestionOptions(List<ScQuestionOption> questionOptions) {
        this.questionOptions = questionOptions;
    }



    public Double getScore() {
        return score;
    }

    public void setScore(Double score) {
        this.score = score;
    }

    public void setChapterid(Integer chapterid) {
        this.chapterid = chapterid;
    }

    public Integer getChapterid() {
        return chapterid;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setQuestiontitle(String questiontitle) 
    {
        this.questiontitle = questiontitle;
    }

    public String getQuestiontitle() 
    {
        return questiontitle;
    }
    public void setSubjectid(Long subjectid) 
    {
        this.subjectid = subjectid;
    }

    public Long getSubjectid() 
    {
        return subjectid;
    }
    public void setQuestiontypeid(Long questiontypeid) 
    {
        this.questiontypeid = questiontypeid;
    }

    public Long getQuestiontypeid() 
    {
        return questiontypeid;
    }
    public void setAnswer(String answer) 
    {
        this.answer = answer;
    }

    public String getAnswer() 
    {
        return answer;
    }
    public void setAnalysis(String analysis) 
    {
        this.analysis = analysis;
    }

    public String getAnalysis() 
    {
        return analysis;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("questiontitle", getQuestiontitle())
            .append("subjectid", getSubjectid())
            .append("questiontypeid", getQuestiontypeid())
            .append("answer", getAnswer())
            .append("analysis", getAnalysis())
            .toString();
    }
}
